package com.itheima.operator;

public class OperatorDemo7 {
    public static void main(String[] args) {
        // 目标：学会使用逻辑运算符：& | ! ^
        double size = 7.9;
        int storage = 128;
        // 需求：尺寸大于6 又要 内存高于64
        // 注意：& 必须前后都是true结果才能是true
        boolean rs = size > 6 & storage > 64;
        System.out.println(rs);

        // | 只要前后有一个为true结果就是true
        System.out.println( size > 6 | storage > 64 );

        // ! 理解作用，你真我假 你假我真
        System.out.println(2 > 4);
        System.out.println(!(2 > 4)); // true
        System.out.println(!false); // true
        System.out.println(!true); // false

        // 异或 ^ : 相同为false , 不同为true.
        System.out.println(size > 6  ^ storage > 64);
        System.out.println(true ^ true); // false
        System.out.println(false ^ false); // false
        System.out.println(true ^ false); // true
        System.out.println(false ^ true); // true

        System.out.println("--------------------------------------");
        // && || 的特单
        // 与&  | 在判断结果上没有区别是一样的。 但是&&发现左边为false右边不执行 ，|| 发现左边为true右边不执行
        int a = 10;
        int b = 10;
        // System.out.println(a > 100 && ++b > 10);
        System.out.println(a > 100 & ++b > 10);
        System.out.println(b);

        int i = 10;
        int j = 10;
        // System.out.println(i > 1 || ++j > 10);
        System.out.println(i > 1 | ++j > 10);
        System.out.println(j);
    }
}
